#ifndef HEADER_SDLTABLE
#define HEADER_SDLTABLE

#include <SDL/SDL.h>
#include <vector>
#include <string>
#include <SDL/SDL_ttf.h>

using namespace std;
class SDL_Table{

    public :
    SDL_Table(int nombreDeColonne , SDL_Surface *ecran);
    /**
        fonction poru ajouter une ligne dans le tableau
        attention les tableau doivent avoir la mm taille que le nombre de colonnes
    */
    void add(vector<std::string> vec);
    void add(std::string tab[]);

    void setTitre(string s[]);
    /**
        i de 0 a taille - 1
    **/
    void setTitre(string s , int i);

    void afficher(SDL_Rect position , SDL_Event event);

    void setHauteur(int h);

    void removeAll();

    SDL_Rect getTaille();

    void estSelectionable(bool select);

    int ligneSelectionner();

    int nombreDeLigne();

    vector<string> getLigneSelect();

    private :

    void ajouterLigne(vector<SDL_Surface*> vec);
    void gestionEvenement(SDL_Event event , SDL_Rect position);

    vector< vector<SDL_Surface*> > tab;
    vector< vector<string> > tabString;
    SDL_Surface** titre;
    int *taille;
    int nombreDeColonne;

    SDL_Surface *ecran;

    int hauteur;
    int padding;

    int indexDebut;
    int nombreDeStringAfficher;

    int indexSelect;

    bool selectionable ;
    SDL_Color coul_noir;
    TTF_Font *police;


};

#endif
